﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sistema.WF.Componentes.FormulariosBase;
using System.Collections;
using Sistema.Kernel;
using Sistema.Dominio;

namespace Sistema.WF.View.Kernel
{
    public partial class FRM_pesquisarUsuario : FRM_pesquisa
    {
        private UsuarioInfo _usuarioSelecionado;
        private IList<UsuarioInfo> _usuarioListado;
        private bool CanSearch
        {
            get
            {
                return this.TXT_pesquisa.Text.Length > 3;
            }
            set
            {
              //  this.TXT_pesquisa.Text = value; this.PropertyChanged(this, new INotifyPropertyChanged("TXT_pesquisa"));
            }
        }


        public FRM_pesquisarUsuario()
        {
            InitializeComponent();
            

        }
        
        private void FRM_pesquisarUsuario_Load(object sender, EventArgs e)
        {
            _usuarioSelecionado = new UsuarioInfo();
            base.CBO_filtroPesquisa.DataSource = base.CarregaMinhaCombo<enumTipoPesquisaUsuario>();
            
            
        }
        
        protected override void Confirmar()
        {
            Usuario user = new Usuario();

            int i = GRD_pesquisa.CurrentCell.RowIndex;
           // int i = GRD_pesquisa.Rows[GRD_pesquisa.CurrentCell.RowIndex].Cells.IndexOf(GRD_pesquisa.CurrentCell);

            _usuarioSelecionado = _usuarioListado[i];

            this.Close();
                      
        }

        public UsuarioInfo retornaUsuario()
        {
         return _usuarioSelecionado;
        }

        protected override void Pesquisar(int ValueMember, string DadosConsulta)
        {
            this.AtualizarGrid();
            Usuario user = new Usuario();
            Sistema.Kernel.enumTipoPesquisaUsuario tipoPesquisa = 
                (enumTipoPesquisaUsuario) ValueMember;

            String[] header = new String[4];

            IList<UsuarioInfo> lista = user.PesquisarUsuario(tipoPesquisa, DadosConsulta);
           
            for (int i = 0; i < lista.Count;i++ )
            {
                header[0] = lista[i].ID.ToString();
                header[1] = lista[i].DadosPessoais.Cpf;
                header[2] = lista[i].DadosPessoais.Nome;
                GRD_pesquisa.Rows.Add(header);
            }

            _usuarioListado = lista;
           
        }


        public UsuarioInfo Pesquisar()
        {
            this.ShowDialog();
            return _usuarioSelecionado;
        }
        private void AtualizarGrid()
        {
            Util.GridHelper.AtualizarGrid(GRD_pesquisa);
            
        }
        private new void CMD_pesquisa_Click(object sender, EventArgs e)
        {
            
        }
       
       
    }
}
